/**
 * 主要讨论如何匹配Option类型，顺便讨论下match的其它一些东西
 * 
 * 总之，match在rust中很重要，rust的开发人员就喜欢这个
 */

 fn main() {
    let mut number = Some(4);
    //此处属于脱裤子放屁，多此一举。但是在某些场合还是有用处的。
    number = plus_with_option(number);
    println!("{:?}", number);
    number = plus_with_option(None);
    println!("{:?}", number);
 }

 fn  plus_with_option(x: Option<i32>) -> Option<i32> {
    match x {
        Some(i) => Some(i + 1),
        None => None
    }
 }    
